[レポート]AWS SignerとAmazon GuardDutyを使用したAmazon ECSワークロードの保護 #AWSreInvent #SVS342
こんにちは、臼田です。
みなさん、コンテナ環境の保護してますか?(挨拶
今回はAWS re:Invent 2024で行われた「SVS342 | Securing Amazon ECS workloads with AWS Signer and Amazon GuardDuty」のセッションレポートです。
特にコンテナ環境を利用する開発者や、開発者のセキュリティライフサイクルに関係する方が視聴すると良いセッションです。
セッション概要
SVS342 | Securing Amazon ECS workloads with AWS Signer and Amazon GuardDuty
In this session, explore the essential steps for implementing robust security measures for workloads on Amazon ECS, including best practices for host, network, and runtime security. Delve into the process of verifying and signing container images using AWS Signer to mitigate the risks of running untrusted or vulnerable software. Examine the power of Amazon GuardDuty and Amazon Inspector to detect potential threats and assess applications for vulnerabilities within your Amazon ECS environments.
SVS342 | AWS Signer と Amazon GuardDuty を使用した Amazon ECS ワークロードの保護
このセッションでは、ホスト、ネットワーク、ランタイム セキュリティのベスト プラクティスなど、Amazon ECS のワークロードに堅牢なセキュリティ対策を実装するための重要な手順について説明します。信頼できないソフトウェアや脆弱なソフトウェアを実行するリスクを軽減するために、AWS Signer を使用してコンテナ イメージを検証および署名するプロセスを詳しく調べます。Amazon GuardDuty と Amazon Inspector の機能を調べて、潜在的な脅威を検出し、Amazon ECS 環境内のアプリケーションの脆弱性を評価します。
セッション動画
レポート
このセッションではAWS上のコンテナを利用する際のライフサイクル・パイプライン全体のセキュリティを扱ったセッションで、特に下記3点にフォーカスしています。
- Amazon Inspectorを活用したSBOMの管理
- AWS Signerを自動化して健全性を保つ
- Amazon GuardDutyで実行環境の脅威検出を行う
内容を要約すると以下のような感じになります。
- コンテナのセキュリティはその特性から少し特殊で専用の対策をしていく必要があるよ
- Inspectorを利用すれば脆弱性のスキャンができるし、SBOMも出力できるようになってお得だね
- 利用しているコンテナが改ざんされていないことをチームでは担保する必要があるからSignerをパイプラインに組み込んで自動的に署名と検証がされるようにしよう
- Shield right、つまり最終的には実際に攻撃を受けたり脅威にさらされる実環境を保護する必要があり、コンテナ実行環境もGuardDutyを利用して様々な脅威を検出して対処できるよ
各章それぞれで、合計3つのデモもあり理解が深まります。
簡単に内容を見ていきましょう。
全体
コンテナ環境ではその特性から様々なセキュリティの課題があります。実行環境が非常に動的でモニタリングや調査が難しかったり、パブリックなコンテナイメージを利用したりして可視性に問題が出る場合などがあります。
これらの課題を解決していくためにこのセッションでは3つの解決策を紹介します。(ついでにセッションではコンテナ周りのサービスについても整理しています)
コンテナ環境のセキュリティを保つためにShield right戦略が有効です。ここでは3つのステップが紹介され、コンテナイメージの扱い、コンテナ自体のセキュリティ、ECSタスクのセキュリティについて触れています。どれも基本的ですが重要なセキュリティの観点です。
Amazon Inspectorを利用した脆弱性のスキャンとSBOM利用
まずコンテナイメージのセキュリティを深堀りします。
脆弱性の管理は非常に重要な要素の1つです。しかしコンテナ環境では環境がスケールし、オンプレミスやEC2環境のように動いている実行環境に対する脆弱性のスキャンや管理はあまり向いていません。そこで、コンテナイメージに対するスキャンを行います。
Amazon Inspectorを利用するとAWSマネージドな仕組みでECRに対してスキャンを行うことができます。今回紹介する具体的な構成は以下のような感じです。
AWS CodePipelineにAmazon Inspectorを組み込み、自動的に脆弱性スキャンを組み込みます。
実際に組み込んだ場合にどのようにパイプラインが動作するかや、脆弱性を確認していくかなどのデモが行われました。
信頼できるコンテナイメージのみを利用するためAWS Signerを組み込んでイメージ改ざんを検出する
続いてコンテナイメージを利用する際のセキュリティについてです。特に組織においてDevOpsチームとセキュリティ・コンプライアンスチームが分かれているときに、セキュリティ・コンプライアンスチームから様々なセキュリティの課題について確認されます。例えば、信頼できるソースのイメージやライブラリを利用しているかなどです。
そして、実際にコンテナをデプロイする際にもその確認を行いたいです。そこで利用するのが署名と検証です。健全であることを確認したコンテナイメージについて署名を行います。
そして、実際にデプロイする際には適切な署名がついたイメージのみをデプロイするようにします。
この署名と検証にはAWS Signerが利用できます。
これを先程のパイプラインに組み込むと以下のようになります。大事なことは、署名や検証を行うからと言ってこのプロセスは人の手を解する必要がなく、自動化して健全性を証明できるということです。
デモではパイプライン内でどのように署名や検証が行われているのかを確認できます。
Amazon GuardDutyを利用したECSコンテナ実行環境の脅威検出
開発やデプロイ段階でのセキュリティはもちろん大切で、これらをしっかりやっていくことがShift leftですが、それだけではなく最終的に外部に露出し攻撃される箇所になる実行環境も同じくらい大切で、これを守っていくことをShield rightとここでは呼んでいます。
実際にECSタスクやサービス/FargateなどECSのコンテナ実行環境を保護していくには、AWSで様々な脅威を検出できるAmazon GuardDutyを利用すると良いです。
Amazon GuardDutyはフルマネージドなAWS上の脅威検出サービスで、ECSの実行環境では以下のような検出が可能です。沢山の種類の脅威を検出できます。
実際に実行環境で検出した脅威をAmazon GuardDutyでどのように確認して対処していくのかデモされています。
まとめ
ECSなどのコンテナ環境では、その他の環境とは異なる特性があるためコンテナであることを意識したセキュリティ対策の実行が求められます。
しかし、AWSの各種サービスや機能を有効に利用すれば楽になるところはたくさんあるので、これらを試していただきたいですね。
特に、コンテナイメージに対する署名はあまり行われないことが多いと思います。AWS Signerをパイプラインに組み込めば手間なくできる部分が多いので、是非チャレンジしてもらいたいです。